package info.itloser.pltv.ui

import android.util.Log
import androidx.lifecycle.LiveData
import androidx.lifecycle.MutableLiveData
import androidx.lifecycle.ViewModel
import info.itloser.pltv.bean.ChannelItem
import info.itloser.pltv.bean.ResItem

/**
 * 说明：
 * 作者： itloser.info
 * 日期： 2022/1/7 16:40
 * 备注：
 */
class PLtvViewModel : ViewModel() {

    //频道集合数据
    var channelItems: ArrayList<ChannelItem> = ArrayList()

    //实时的 直播源数据
    var resItems: ArrayList<ResItem> = ArrayList()

    //这里应该是观察者模式的写法
    private val _account = MutableLiveData("用户: 内测用户")
    private val _balance = MutableLiveData("余额: 998.99")
    var account: LiveData<String> = _account
    var balance: LiveData<String> = _balance

    private val channels: MutableLiveData<List<ChannelItem>> by lazy {

        MutableLiveData<List<ChannelItem>>().also {
            loadChannels()
        }

    }

    fun getChannels(): LiveData<List<ChannelItem>> {
        return channels
    }

    private fun loadChannels() {
        //加载直播源



    }

    /**
     * 打开设置页
     */
    fun onSetting() {

        _balance.value = "点击了设置"
        Log.i("itl-k", "点击了设置按钮")
    }


    /**
     * 初始化 频道列表
     */
    fun initChannels() {

        //后边这里从服务器拉数据


        //这里先从本地读取


        //然后用Gson转成对象集合


    }


    /**
     * 获取最后一次观看的频道信息
     */
    fun getLastChannel() {

        //从SP读取上次保存的 频道信息

    }


    //当 ViewModel 解绑时 可以在这里销毁数据
    override fun onCleared() {
        super.onCleared()
    }
}